﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace UIT.Commands
{
    public abstract class BaseCommand : ICommand
    {
        protected object target;
        #region ICommand Members

        public abstract CommandType CommandType
        {
            get;
        }

        public virtual void Execute(object target, params object[] parameters)
        {
            this.target = target;
            Redo();
        }

        public abstract void Undo();

        public abstract void Redo();

        #endregion
    }
}
